﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Sispe.Entities;
using Sispe.BussinesLogic;
using Microsoft.Practices.Unity;

namespace Sispe.UI
{
    public partial class FrmTraspasoDerechoHabiente : Form
    {
        [Dependency]
        public ITrabajadorBL trabajadorBL { get; set; }

        [Dependency]
        public IDerechoHabienteBL derechoBL { get; set; }

        [Dependency]
        public IPersonaBL personaBL { get; set; }

        public FrmTraspasoDerechoHabiente()
        {
            InitializeComponent();
            this.BuildUp();
        }

        private void FrmTraspasoDerechoHabiente_Load(object sender, EventArgs e)
        {

        }

        public DERECHO_HABIENTE CurrentDerechoHabiente { get; set; }

        public void Editar()
        {
            dERECHO_HABIENTEBindingSource.DataSource = CurrentDerechoHabiente;
        }
        private void btnTrabajador_Click(object sender, EventArgs e)
        {
            var _derechoHabiente = dERECHO_HABIENTEBindingSource.Current as DERECHO_HABIENTE;
            
            if (_derechoHabiente != null)
            {
                FrmTrabajador frm = new FrmTrabajador();
                frm.Extend();
                frm.ShowDialog();

                if (frm.currentTrabajador != null)
                {
                    var _trabaj = trabajadorBL.GetFromTrabajadorById(frm.currentTrabajador.Id);
                    tRABAJADORBindingSource.DataSource = _trabaj;

                    var _persona  = personaBL.GetFromPersonaById(_trabaj.Id);
                    pERSONABindingSource.DataSource = _persona;

                    _derechoHabiente.TRABAJADOR = _trabaj;
                    _derechoHabiente.IdTrabajador = _trabaj.Id;

                    dERECHO_HABIENTEBindingSource.ResetBindings(true);
                    pERSONABindingSource.ResetBindings(true);
                    tRABAJADORBindingSource.ResetBindings(true);
                }
            }


        }

        private void btnGuardar_Click(object sender, EventArgs e)
        {
            DERECHO_HABIENTE currentDerechoHabiente = dERECHO_HABIENTEBindingSource.Current as DERECHO_HABIENTE;

            if (currentDerechoHabiente != null)
            {
                derechoBL.ModificarDerechoHabiente(currentDerechoHabiente);
                MessageBox.Show("Traspaso Correcto");
                this.Close();

                FrmDerechoHabiente frm = new FrmDerechoHabiente();
                frm.Focus();
                frm.ShowDialog();


            }
        }

    }
}
